package com.facade;

import java.io.Serializable;
import java.util.List;

import com.dao.ItemVendaDao;
import com.model.ItemVenda;

public class ItemVendaFacade implements Serializable {
	private static final long serialVersionUID = 1L;
	
	private ItemVendaDao itemVendaDao = new ItemVendaDao();

	public void createItemVenda(ItemVenda itemVenda) {
		itemVendaDao.beginTransaction();
		try {
			itemVendaDao.save(itemVenda);		
			itemVendaDao.commit();			
		} catch (Exception e) {
			itemVendaDao.rollback();
		} finally {
			itemVendaDao.closeTransaction();
		}
	}
	
//	for (ItemVenda itemVenda : listaItem) {
//	itemVenda.setVenda(venda);
//	try {			
//		itemVendaFacade.createItemVenda(itemVenda);
//		produto = produtoFacade.findByPrimaryKey(itemVenda.getProduto());
//		produto.setQuantidade(produto.getQuantidade()- itemVenda.getQuantidade());
//		try {					
//			produtoFacade.updateProduto(produto);					
//		} catch (Exception e) {
//			e.printStackTrace();
//			System.out.println("Erro ao atualizar o produto");
//		}
//	} catch (Exception e) {
//		e.printStackTrace();				
//		System.out.println("Erro ao salvar o itemVenda");
//	}	
//}	

//	public void updateItemVenda(ItemVenda itemVenda) {
//		itemVendaDao.beginTransaction();
//		ItemVenda persistedItemVenda = itemVendaDao.find(itemVenda.getId());
//		persistedItemVenda.setName(itemVenda.getName());
//		persistedItemVenda.setAge(itemVenda.getAge());
//		itemVendaDao.commitAndCloseTransaction();
//	}
	
	public void deleteItemVenda(ItemVenda itemVenda){
		itemVendaDao.beginTransaction();
		ItemVenda persistedItemVendaWithIdOnly = itemVendaDao.findReferenceOnly(itemVenda.getIdItemVenda());
		itemVendaDao.delete(persistedItemVendaWithIdOnly);
		itemVendaDao.commitAndCloseTransaction();
		
	}

	public ItemVenda findItemVenda(int itemVendaId) {
		itemVendaDao.beginTransaction();
		ItemVenda itemVenda = itemVendaDao.find(itemVendaId);
		itemVendaDao.closeTransaction();
		return itemVenda;
	}

	public List<ItemVenda> listAll() {
		itemVendaDao.beginTransaction();
		List<ItemVenda> result = itemVendaDao.findAll();
		itemVendaDao.closeTransaction();

		return result;
	}

}